package algorithms.leaning.class06;

import common.util.MyUtil;

/**
 * 对于数组中的位置 i
 * 左孩子：2 * i + 1
 * 右孩子：2 * i + 2
 * 父节点：(i - 1) / 2
 *
 * @author guichang
 * @date 2021/5/31
 */

public class Code1_堆排序 {

    public static void main(String[] args) {
        int[] array = MyUtil.createRandomArray(20, -30, 30);
        heapSort(array);
        MyUtil.print("堆排序后:");
        MyUtil.printInt(array);
    }

    public static void heapSort(int[] array) {
        if (array == null || array.length <= 1) {
            return;
        }

    }

    /**
     * index上移
     * 将index位置的数插入到大根堆中
     *
     * @param array 数组
     * @param index 待插入的位置
     */
    public void heapInsert(int[] array, int index) {

    }

    /**
     * index下移
     * 将index位置的数调整为大根堆
     *
     * @param array    数组
     * @param index    待调整位置
     * @param headSize 堆最大size
     */
    public void headIfy(int[] array, int index, int headSize) {

    }

}